for (l = hits; l; l = l->next)
{
GtkSearchHit *hit = (GtkSearchHit *)l->data;
- file = g_file_new_for_uri (hit->uri);
- if (!file)
- continue;
+ file = g_object_ref (hit->file);
if (hit->info)
{
files_with_info = g_list_prepend (files_with_info, file);
const GtkSearchHit *ha = (const GtkSearchHit *)a;
const GtkSearchHit *hb = (const GtkSearchHit *)b;
- return g_str_equal (ha->uri, hb->uri);
+ return g_file_equal (ha->file, hb->file);
}
{
const GtkSearchHit *ha = (const GtkSearchHit *)a;
- return g_str_hash (ha->uri);
+ return g_file_hash (ha->file);
}
GtkSearchHit *
GtkSearchHit *dup;
dup = g_new (GtkSearchHit, 1);
- dup->uri = g_strdup (hit->uri);
+ dup->file = g_object_ref (hit->file);
if (hit->info)
dup->info = g_object_ref (hit->info);
else
void
_gtk_search_hit_free (GtkSearchHit *hit)
{
- g_free (hit->uri);
+ g_clear_object (&hit->file);
g_clear_object (&hit->info);
g_free (hit);
}
struct _GtkSearchHit
{
- gchar *uri;
+ GFile *file;
GFileInfo *info; /* may be NULL */
};
file = _gtk_file_system_model_get_file (model->model, &iter);
hit = g_new (GtkSearchHit, 1);
- hit->uri = g_file_get_uri (file);
+ hit->file = g_object_ref (file);
hit->info = g_object_ref (info);
hits = g_list_prepend (hits, hit);
}
GtkSearchHit *hit;
hit = g_new (GtkSearchHit, 1);
- hit->uri = g_file_get_uri (child);
+ hit->file = g_object_ref (child);
hit->info = g_object_ref (info);
data->hits = g_list_prepend (data->hits, hit);
}
v = g_variant_iter_next_value (&iter);
strv = g_variant_get_strv (v, NULL);
- hit[i].uri = (gchar*)strv[0];
+ hit[i].file = g_file_new_for_uri (strv[0]);
hit[i].info = NULL;
g_free (strv);
hits = g_list_prepend (hits, &hit[i]);